# 第一阶段：编译阶段
FROM registry.cn-hangzhou.aliyuncs.com/ywimg/golang:1.24-alpine3.20 AS build

# 设置工作目录
WORKDIR /app

# 将本地代码复制到容器中
COPY . .

# 安装依赖
RUN go version
RUN go mod tidy

# 编译项目
RUN CGO_ENABLED=0 go build -o server cmd/server/main.go

# 第二阶段：运行时阶段
FROM alpine:latest

# 设置工作目录
WORKDIR /app

# 从第一阶段复制编译好的可执行文件
COPY --from=build /app/server /app/server

# 暴露服务端口（根据实际情况修改）
EXPOSE 8080

# 启动服务
CMD ["./server","-config","config.yml"]